সর্ট করা মানে হচ্ছে একটি নির্দিষ্ট ক্রমে সাজানো। এই ক্রমটি হতে পারে সংখ্যার ক্রম, নামের ক্রম বা অন্যকিছু। যেমন— আমরা শিক্ষার্থীদের তালিকা তৈরি করলে তাদেরকে সাজাতে পারি—নামের ক্রমানুসারে, শ্রেণির ক্রমানুসারে কিংবা রোল নম্বরের ক্রমানুসারে। আবার ছোট থেকে বড় ক্রমে যেমন সাজানো যায় (ইংরেজিতে একে বলা হয় Ascending Order), তেমনি বড় থেকে ছোট ক্রমেও সাজানো যায় (ইংরেজিতে একে বলে Descending Order)। সর্টিং করার জন্য কম্পিউটার বিজ্ঞানে বিভিন্ন ধরনের অ্যালগরিদম বা পদ্ধতি রয়েছে। কোনোটি সহজ, কোনোটি জটিল, কোনোটি বেশ দ্রুত গতির, আবার কোনোটি ধীর গতির। তবে ডেটাবেজে সর্টিং ব্যবহার করার সময় ডেটাবেজ সফটওয়্যার আসলে কীভাবে সর্টিংয়ের কাজটি করবে, তা নিয়ে মাথা ঘামাতে হয় না, বরং কীসের ভিত্তিতে সাজাতে হবে, আর কোন ক্রমে (ছোট থেকে বড়, নাকি বড় থেকে ছোট) সেটি বলে দিলেই হয়। সিলেক্ট কুয়েরির শেষে ORDER BY লিখে তারপরে কলামের নাম লিখলে সেই কলামের ডেটা অনুসারে ছোট থেকে বড় ক্রমে ডেটা আসবে। আর উল্টো ক্রমে (অর্থাৎ, বড় থেকে ছোট) ডেটা পেতে চাইলে শেষে DESC লিখতে হবে (Descending শব্দের প্রথম চারটি অক্ষর)।
student টেবিলে ডেটাগুলো বিভিন্নভাবে সাজানো যায়। নিচে কিছু উদাহরণ দেখানো হলো। শিক্ষার্থীদের প্রতিটি কুয়েরি নিজে নিজে এসকিউলাইটে চালিয়ে দেখার পরামর্শ দেওয়া হলো। শিক্ষার্থীদের শ্রেণি অনুসারে ছোট থেকে বড় ক্রমে সাজাতে চাইলে—
SELECT FROM student ORDER BY class;
শিক্ষার্থীদের শ্রেণি অনুসারে বড় থেকে ছোট ক্রমে সাজাতে চাইলে
SELECT * FROM student ORDER BY class DESC;
শিক্ষার্থীদের শ্রেণি অনুসারে বড় থেকে ছোট ক্রমে এবং একই শ্রেণির শিক্ষার্থীদের রোল নম্বর অনুযায়ী ছোট থেকে বড় ক্রমে সাজাতে চাইলে
SELECT * FROM student ORDER BY class DESC, roll;
শিক্ষার্থীদের শাখা অনুসারে ছোট থেকে বড় ক্রমে (day, morning-এর চাইতে ছোট, কারণ ইংরেজিতে d অক্ষরটি m-এর আগে আসে), একই শাখার শিক্ষার্থীদের শ্রেণি অনুসারে বড় থেকে ছোট, আর সবশেষে একই শ্রেণির শিক্ষার্থীদের রোল নম্বর অনুসারে ছোট থেকে বড় ক্রমে সাজাতে চাইলে –
SELECT * FROM student ORDER BY section, class DESC, roll;
নিজে কর : নিচের কুয়েরিটি চালালে কোন ক্রমে ডেটা পাওয়া যাবে? SELECT * FROM student ORDER BY class DESC, section, roll;
Read more